package com.hst.capacity.application.biz;

import com.hst.capacity.domain.model.request.invoice.InvoiceLstParam;
import com.hst.capacity.domain.model.request.invoice.InvoiceParam;
import com.hst.capacity.domain.model.response.PagingResultVO;
import com.hst.capacity.domain.model.response.invoice.InvoiceVO;

import java.util.List;

public interface InvoiceBiz {

    PagingResultVO<InvoiceVO> findInvoiceLst(InvoiceLstParam param);

    InvoiceVO findByIdInvoice(String idInvoice);

    InvoiceVO findByIdOrder(String idOrder);

    InvoiceVO findByExternalOrderId(String idExternalOrder);

    String updInvoiceInfo(InvoiceParam param);

    String invalidInvoice(InvoiceParam param);

    List<InvoiceVO> findAllInvoiceLst(InvoiceLstParam param);

    void saveInvoicePdf(String idInvoice,String pdfPath);

    boolean sendMail(InvoiceParam param);

    boolean sendMail(String idInvoice);

}
